Systems and methods for transferring or delivering digital information to various end user devices and/or products often involve a digital rights management (DRM) format or scheme that usually includes encrypting the content to be transferred and providing one or more decryption keys to authorized users or user devices for decrypting the encrypted content. One type of encryption scheme is public key encryption, which involves a public key and a corresponding private key. The public key is often widely published or distributed across a communications network, while the corresponding private key is held by the authorized end user device or product. In public key encryption, information encrypted with a public key is decrypted only with the corresponding private key.
In systems that use public key encryption, one concern is determining whether a public key is authentic, i.e., verifying that a received public key has not been copied, replaced or otherwise compromised. One manner to address this concern is through the use of a public key infrastructure (PKI). The PKI is generally a collection of servers and software that enables an organization to distribute and manage the distribution of public and private keys from a key generation facility (KGF) to products generated at a product personalization facility (for instance a factory or repair facility) in a manner that allows users to determine reliably the identity of the owner of each public/private key pair. The KGF is often a certificate authority (CA). The PKI often uses a CA to bind public keys with respective end users or end user products using public key certificates. In this manner, the CA is known to reliably identify the owner of each public/private key pair associated with each client device.
PKI data, including the private key, digital certificates and other unique cryptographic entities (UCEs) that are intended to be loaded into devices during mass production in a factory are typically generated encrypted with a global key because at the time of PKI data generation it is not known which specific client device will be loaded with the PKI data. Then, during manufacturing, the global-key encrypted PKI data is loaded into the device and the PKI data is later re-encrypted by firmware in the client device using a device unique key. During the manufacture or repair of the client device at a product personalization facility, the PKI data is loaded into each client device.
The product personalization facility in contrast with the KGF is not assumed to be a secure facility. There exists a possibility that PKI data and the client devices may be stolen. As described above, the PKI data is protected by encrypting the PKI data in the client device with a global key and then later the PKI data is supposed to be re-encrypted with the device unique key. However, in some situations, the PKI data may not be re-encrypted with the device unique key due to error or due to attempts to steal data. To satisfy DRM requirements, the PKI data is required to be encrypted with the device unique key rather than the global key so the PKI data is incapable of transfer and use on any other device. However, on some client devices the hardware that decrypts the PKI data during initialization does not indicate whether the PKI data was decrypted with the global key or with the device unique key. Thus, it is often not possible to reject the PKI data that was decrypted with the global key.
Client devices not being able to indicate whether the PKI data was decrypted with the global key or with the device unique key presents a problem for most DRM schemes that require device-specific PKI data to be decrypted with the device unique key in order to make all copies of the encrypted PKI data unusable on any other device. The global key normally exists in every device of a specific model. If an unauthorized party is able to install many copies of the same global-key encrypted private key into many client devices, these client devices can illegally share the same authorized identity and illegally share copies of protected content. Therefore, in these client devices, the inability to reject the PKI data that was decrypted with the global key creates security vulnerability and allows unauthorized access to content.